home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / General / Metrowerks PPC Debugger Patches / 1.0b1 release notes next >
Text File  |  1994-04-28  |  11KB  |  239 lines

  1. Metrowerks 68K and PowerPC Debugger release notes 
  2. =================================================
  3.  
  4. Version: 1.0b1
  5. Date:    April 28, 1994 
  6. Author:  Dan Podwall
  7.  
  8. This is a pre-DR3 release of the Metrowerks Debugger for
  9. Power Macintosh. This version is functionally equivalent
  10. to the debugger that will appear in the DR3 CodeWarrior
  11. release. We are making this development version available
  12. to address problems some users have had with the DR2 
  13. PowerPC debugger. The version that will be release will
  14. have undergone further QA. Please help us by reporting
  15. any problems you find with this interim release. Address
  16. your reports to:
  17.  
  18. AppleLink: SUPPORTWERKS, with cc: to DPODWALL
  19. Internet:  support@metrowerks.ca, with cc: to dpodwall@world.std.com
  20.  
  21. There are several new features in this release. Documentation will
  22. be available with the official release on the DR3 CD.
  23.  
  24. ## Important notes for Power Macintosh users ##
  25.  
  26. - This release has two patchers: one for the MW Debug/PPC application,
  27.   and one for DebugServices for PowerPC. Please run the patchers on
  28.   fresh copies from your DR2 CD. PPCTraceEnabler does not required
  29.   patching, but is still required for debugging. Remove the old
  30.   DebugServices and make sure you are running the updated version.
  31.     
  32. - If you also have the Macintosh Debugger for PowerPC (formerly 
  33.   R2DB) from Apple’s Macintosh on RISC SDK, make sure you deactivate
  34.   the PPC Debugger Nub when using the Metrowerks debugger. Do this 
  35.   via the “Debugger Nub Controls” control panel. When enabled, the 
  36.   PPC Debugger Nub causes the Metrowerks debugger to run *much* slower.
  37.   
  38. - Any crashes that occur in 68K emulated code are not trapped by the
  39.   DebugServices. It is a good idea to run Macsbug 6.5d6 or later
  40.   along with the Metrowerks debugger.
  41.   
  42. - The DebuggerINIT, used by the 68K debugger, is incompatible with the 
  43.   PowerPC Thread Manager extension. If you use the Thread Manager do not
  44.   install DebuggerINIT. DebuggerINIT is not used for PowerPC debugging. 
  45.   
  46.  
  47. This is a beta release of the Metrowerks Debuggers for 68K and
  48. PowerPC. 
  49.  
  50. Summary of changes
  51. ``````````````````
  52.  
  53. Here's a summary of the new features since the a1 release on the
  54. DR2 CD. Further information is available in the online 
  55. documentation.
  56.  
  57. - The collection window provides a single place where you can
  58.   look at frequently use local variables, global variables, 
  59.   struct members, and array elements without lots of window 
  60.   switching and scrolling around. Use the “Copy to Collection”
  61.   command to add the selected item to the collection window.
  62.   If you have installed Macintosh Drag and Drop then you can drag
  63.   and drop variables onto the collection window.
  64.   
  65.   Collection window contents are currently not saved across 
  66.   debugger sessions.
  67.  
  68. - The array window has been enhanced to support specifying the array
  69.   size, and to allow binding the array address to a variable, register,
  70.   or absolute address.
  71.   
  72.   The array window has an expandable information pane. When the pane is 
  73.   collapsed, it shows the array element type and starting address. 
  74.   The window title indicates what the array is bound to as follows:
  75.   
  76.   variable name: starting array address is the variable's address for 
  77.     non-pointer variables. For pointer variables the array address is
  78.     the pointer value. Created by selecting “Open Array Window” with
  79.     an array or pointer variable selected.
  80.     
  81.   register name: starting array address is the register value. Created
  82.     by selecting “View Memory As…” with a 4-byte register selected.
  83.   
  84.   hex address: starting array address is the absolute address. Created
  85.     by selecting “View Memory As…” with a variable selected.
  86.   
  87.   The information pane expands to show the array binding value, binding type,
  88.   array size, and struct member selection.
  89.   
  90.   The array binding value is either a variable name, register name, or
  91.   address. It can only be edited when the array is bound to an address.
  92.   The radio buttons indicate the array binding type. It can only be changed
  93.   to address binding.
  94.   
  95.   The array size applies to vectors. You can specify the array size to any
  96.   desired value.
  97.   
  98.   The struct member selection popup applies only when array elements are
  99.   of struct type. It allows you to filter out all but a single struct member
  100.   to get an overview of that member's value for the whole array. For example,
  101.   if you have an array of Rect and want to see the "top" member without
  102.   expanding each element, select "top" in the popup. The value of "top"
  103.   is shown for each array element.
  104.   
  105.   When Macintosh Drag and Drop is available, you can rebind an existing
  106.   array window to a different variable or register by dragging and dropping
  107.   a variable or register. Registers must be 4-bytes and can be dragged by
  108.   clicking on the register name in a register window. Array elements can be
  109.   dragged to the collection window.
  110.   
  111.   As mentioned before, the “View Memory As…” command opens an array window
  112.   bound to an address or register. This interprets memory as an array of
  113.   some type, not as a hex dump. You are prompted to specify the element type
  114.   before the window is displayed. 
  115.  
  116. - The register windows support display and editing of CPU registers.
  117.   To conserve screen real estate, the windows come up displaying only
  118.   the general data and address registers. Zoom the window to display
  119.   the full set of registers. Status and condition registers are displayed
  120.   according to the logical fields of the register. The single bit fields
  121.   can be toggled by doubling-click, or selecting and hitting return/enter.
  122.  
  123. - The toolbar window offers shortcuts for the most commonly used
  124.   Control menu commands. The toolbar visibility is remembered across runs,
  125.   so if you don't like it, then hide it.
  126.  
  127. - Some preferences can be specified with the “Preferences…” command. Here 
  128.   is a description of what they do:
  129.   
  130.   - Save window settings…
  131.     Enables saving the local .dbg files. These files contain window settings
  132.     and optionally, breakpoints.
  133.     
  134.   - Save breakpoints
  135.     If saving a .dbg file is enabled, you can separately enable/disable
  136.     breakpoint saving.
  137.     
  138.   - Use temporary memory for .SYM…
  139.     When enabled, the debugger uses MultiFinder memory to store the
  140.     SYM file data. This lets you keep the debugger partition smaller.
  141.     The default debugger partition assumes this option is enabled, so
  142.     when disabling it you should increase the debugger partition by
  143.     the SYM file size.
  144.   
  145.   - At startup, prompt for SYM file…
  146.     Determines the debugger behavior when the debugger is launched
  147.     without a SYM file. When enabled, the debugger prompts for a SYM file,
  148.     when disabled, the debugger does nothing.
  149.     
  150.   - Automatically launch applications…
  151.     When enabled, the debugger automatically sets a breakpoint at main()
  152.     and runs your application. Disable this if you want to debug code
  153.     that executes before main() is entered, such as C++ static constructors.
  154.     There is no way to step into that code, so you need to manually set
  155.     breakpoints at the desired locations. The current setting can be
  156.     temporarily overriden by holding down the option key as the file is
  157.     being loaded.
  158.     
  159.   - Ignore file modification dates
  160.       Disables the warnings that occur when the application or source
  161.       file modification date doesn't match the date stored in the SYM file.
  162.       This usually means the file was changed since compiling or linking, and
  163.       the debugger will not have correct information for some or all of the
  164.       program. If your build environment or application cause this warning 
  165.       to become annoying then you can shut off the warnings.
  166.       
  167.   - Always prompt for source file location…
  168.     If you specify full paths in the SYM file then the debugger usually
  169.     can find all your files when debugging. When it can't find a file the
  170.     debugger will prompt you to find it, and remember the folder that the
  171.     file was in. The next time it needs to find a file in the same session, 
  172.     the debugger will look in those folders for the new file. Disabling this
  173.     option causes the debugger to always prompt for the file if it is not
  174.     where the SYM file says it should be.
  175.     
  176.   - In variable panes, show variable types by default.
  177.     When enabled, new windows with variable panes will show the variable
  178.     types. This setting is also stored in the .dbg file, which overrides
  179.     the global setting.
  180.     
  181.   - Attempt to use the dynamic type of C++ objects.
  182.     When enabled, the debugger tries to show the runtime type of an
  183.     object. Disable this to always use just the static type.
  184.     
  185.   - Default size for unbound array.
  186.     Specifies the array size to use when no size information is available.
  187.  
  188. KNOWN BUGS AND OTHER CAVEATS
  189. ````````````````````````````
  190.   
  191. - On the PowerPC, if the debugger quits due to an assertion failure or out
  192.   of memory alert, you should restart the machine before attempting to use
  193.   the debugger again. Otherwise the debugger may not be able to establish
  194.   a communication session with the nub. This does not apply to 68K.
  195.   
  196. - On PowerPC, don't attempt to step out of a PowerPC routine into 
  197.   a 68K routine. The system will hang. Either DebugServices or the
  198.   Metrowerks Debugger will catch this in a future release.
  199.       
  200. - The environment occasionally fails to put in symbolic information for some
  201.   types in the SYM file. If the debugger refuses to display a struct or
  202.   class variable, that is probably the cause.
  203.         
  204. - No type information is currently available for the QuickDraw globals, including
  205.   qd.thePort.
  206.      
  207. - Window placement is not very smart yet. 
  208.  
  209. - Redrawing has not been optimized for updating, resizing, and context switch.
  210.   Some may come with future PowerPlant releases, and some is debugger-specific. 
  211.   
  212. - Make sure A6 frames are enabled when debugging 68K programs.
  213.  
  214. - On PowerPC, when instruction scheduling is enabled the compiler is free to
  215.   rearrange code within basic blocks. The sequence of code within basic
  216.   blocks may not correspond to the sequence of statements in your source code.
  217.   Because of this, when instruction scheduling is enabled the compiler only 
  218.   puts statements at the beginning of each basic block. This means 
  219.   that you can only step to or set breakpoints at the start of each
  220.   basic block. This is not a bug.
  221.  
  222. Bug Reports
  223. ```````````
  224.  
  225. Please send in your bug reports using the Applelink Bug Report Template stored
  226. in the release notes folder. Send reports to:
  227.  
  228. Applelink:  METROWERKS with cc:DPODWALL
  229. Internet:   support@metrowerks.ca with cc:dpodwall@world.std.com
  230.  
  231. Happy debugging!
  232.  
  233. -------------------------------------------------------------------------
  234. Dan Podwall                             AppleLink: DPODWALL
  235. Metrowerks, Inc.                        Internet:  dpodwall@world.std.com
  236.  
  237.  
  238.     
  239.